In order to expedite data write, some persistent data storage systems utilize volatile memory (e.g., dynamic random access memory [RAM]) in addition to non-volatile memory (e.g., a hard disk drive [HDD] or solid-state drive [SSD], or flash memory) to facilitate date storage. For such persistent storage systems, when a computing device writes data, the persistent data storage system can write the data into the volatile memory of the computing device and then send an acknowledgement to the computing device that the data write is complete. As the volatile memory fills up, the persistent data storage system may flush the data in the volatile memory to non-volatile memory (e.g., included by the computing device) to provide persistent data storage of that data after the volatile memory is no longer powered (e.g., after the computing device is powered off or loses power). In the event of the computing device crash or suddenly losing power, the volatile memory can be powered by a backup power source (e.g., backup battery or capacitor) that temporarily powers the volatile memory (e.g., for minutes, hours, or days) while a data backup operation copies data from the volatile memory to the non-volatile memory for persistence storage.
The volatile memory and non-volatile memory may be included as parts of a “Type 1” (T1) architecture non-volatile dual in-line memory module (NVDIMM). A T1 NVDIMM is a dynamic random access memory (DRAM) DIMM that includes a set of NAND flash memory chips to provide non-volatile memory to retain data even during removal of power to the NVDIMM. Upon loss of its primary power supply, a controller on the T1 NVDIMM can facilitate copying data from its DRAM to its non-volatile memory, while being powered by a backup power source and without significant dependence on components external to the DIMM. As a backup power source, the T1 NVDIMM can include a small or micro uninterruptible power supply (UPS) that can provide a relatively short time of electricity if needed to backup data from the DRAM to the non-volatile memory.